// 权限检查中间件
const checkRoleMiddleware = (allowedRoles) => {
  // 返回 Express 中间件函数
  return (req, res, next) => {
    // 获取 authMiddleware 注入的用户角色 ID
    const userRole = req.roleId;

    // 检查用户的角色 ID 是否在允许的列表中
    if (allowedRoles.includes(userRole)) {
      // 权限匹配，放行
      next();
    } else {
      // 3. 权限不足，拒绝访问 (403 Forbidden)
      return res.status(403).json({
        code: 3,
        msg: "权限不足",
      });
    }
  };
};

module.exports = checkRoleMiddleware;
